package BasedeDatos;

import java.sql.*;
import java.util.*;
import Clases.*;
import Operaciones.OperacionesBD;

public class npcJDBC {
	Connection con;
	Npc npc = new Npc();
	OperacionesBD o;
	
	public Npc selectNpc(int entry) throws SQLException{
		con = Conexion.conexion();
		Statement stmt = con.createStatement();
		String q = "SELECT entry,comentario,usuario,ip,prioridad FROM npc WHERE entry = '"+entry+"' ;";
		try{
		ResultSet sr = stmt.executeQuery(q);
		while (sr.next()){
			npc.setEntry(sr.getInt("entry"));
			npc.setComentario(sr.getString("comentario"));
			npc.setUsuario(sr.getInt("usuario"));
			npc.setIp(sr.getString("ip"));
			npc.setPrioridad(sr.getInt("prioridad"));
		}
		sr.close();
	}
	catch(SQLException e){
		
	}
		return npc;
	}
	
	public ArrayList<Npc> selectNpcRep() throws SQLException{
		ArrayList<Npc> l = new ArrayList<Npc>();
		con = Conexion.conexion();
		Statement stmt = con.createStatement();
		String q = "SELECT entry,comentario,usuario,ip,prioridad FROM npc WHERE asignado = '0';";
		try{
		ResultSet sr = stmt.executeQuery(q);
		while (sr.next()){
			Npc npcc = new Npc();
			npcc.setEntry(sr.getInt("entry"));
			npcc.setComentario(sr.getString("comentario"));
			npcc.setUsuario(sr.getInt("usuario"));
			npcc.setIp(sr.getString("ip"));
			npcc.setPrioridad(sr.getInt("prioridad"));
			l.add(npcc);
		}
		sr.close();
		}
		catch(SQLException e){
			
		}
		return l;
	}
	
	public void asignarNpc(Npc n, Usuario u) throws SQLException{
		con = Conexion.conexion();
		Statement stmt = con.createStatement();
			String q1 = "UPDATE npc SET asignado ='"+1+"' Where entry ='"+n.getEntry()+"';";
		    String q2 = "INSERT INTO npcasignado (usuario,npc,prioridad) values('"+u.getGuid()+"', '"+n.getEntry()+"' , '"+n.getPrioridad()+"' );";
		    stmt.executeUpdate(q1);
		    stmt.executeUpdate(q2);
	}
	
	public void limpiarreporteNpc() throws SQLException{
		con = Conexion.conexion();
		Statement stmt = con.createStatement();
		String q = "DELETE FROM npcasignado;";
		stmt.executeUpdate(q);
	}
	
	public void insertNpc(int entry, String comentario, int usuario, String ip,int prioridad) throws SQLException{
		con = Conexion.conexion();
		Statement stmt = con.createStatement();
		String q = "INSERT INTO npc (entry,comentario,usuario,ip,prioridad) VALUES('"+entry+"','"+comentario+"','"+usuario+"','"+ip+"','"+prioridad+"');";
		stmt.executeUpdate(q);
	}

}
